home *** CD-ROM | disk | FTP | other *** search
/ Directorty Opus 5 - Magellan 2 / Opus 5 - Magellan 2.iso / Extras / DOpusLhARexx2 / Docs / DOpusLhARexx.doc next >
Text File  |  1994-07-01  |  41KB  |  1,314 lines

  1.  
  2. DOpusLhARexx Documentation
  3.  
  4.  
  5.                     Documentation for DOpusLhARexx 40.2
  6.                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  7.                           Date: July 1, 1994
  8.  
  9.                      © Copyright 1994 Nirvana Software
  10.  
  11.                           Author: Geoff Seeley 
  12.  
  13.  
  14.    Overview         - About the archive.
  15.    What's New?      - Changes from the last release.
  16.    Installation     - Setting up on your system.
  17.    Operation        - Using the scripts.
  18.    Copyrights       - Important information.
  19.    Acknowledgments  - Who made it possible.
  20.    Known Bugs       - What doesn't work.
  21.    Program History  - What was done to fix the above :-)
  22.    The Furture      - What I would like to do.
  23.  
  24.  
  25.  
  26. Preface
  27.  
  28.  
  29.  Preface
  30.  ~~~~~~~
  31.  
  32.    DOpusLhARexx is a set of ARexx scripts for Directory Opus that will allow
  33.    you to view LhA archive files in a DOpus window and extract, delete, add,
  34.    view and print one or more files to/from the archive.
  35.  
  36.    The DOpusLhARexx programs were developed and tested using the following
  37.    programs and libraries. Your mileage may vary with other versions....
  38.  
  39.       LhA                  v1.38
  40.       Directory Opus       v4.11
  41.       rexxsupport.library v34.9
  42.  
  43.  
  44.  
  45. What's New
  46.  
  47.  
  48.  Changes from Release 40.1
  49.  ~~~~~~~~~~~~~~~~~~~~~~~~~
  50.  
  51.    Enhancements
  52.    ~~~~~~~~~~~~
  53.  
  54.    - Increased speed!!
  55.  
  56.    - Added script to view file(s) from an LhA archive
  57.  
  58.    - Added script to print file(s) from an LhA archive
  59.  
  60.    - Double click on a file to view
  61.  
  62.    - Click-m-Click extraction of files
  63.  
  64.    - Restore or ignore full pathnames in archive
  65.  
  66.    - Ability to preserve existing files upon extraction
  67.  
  68.    - Directory Opus format help file for scripts
  69.  
  70.    - Proper pattern matching in file selection
  71.  
  72.  
  73.    Bug Fixes
  74.    ~~~~~~~~~
  75.  
  76.    - Fixed problems with rexxsupport.library when it's not installed in
  77.      the ARexx search path.
  78.  
  79.    - Fixed problems with names containing spaces.
  80.  
  81.  
  82.  
  83. Copyrights
  84.  
  85.  
  86.  Copyrights
  87.  ~~~~~~~~~~
  88.  
  89.    The code within DOpusLhARexx is freely distributable and may not be 
  90.    sold for profit, however the code remains:
  91.  
  92.                Copyrighted © 1994 (All rights reserved)
  93.                 by Nirvana Software and Geoff Seeley.
  94.  
  95.    DOpusLhARexx may be included in public domain libraries such as Fred
  96.    Fish's "Amiga Freely Redistributable Library" as long as no profit 
  97.    is made from these programs and no files in the archive are modified
  98.    in any way.
  99.  
  100.    DOpusLhARexx may also be included on the AmiNet CD-ROM. (As long as
  101.    I get my free copy :-)
  102.  
  103.    If you *must* make improvements to these programs, please, either send
  104.    them to me for inclusion in a future release, or at least upload them
  105.    to your nearest AmiNet archive site so that the Amiga community can
  106.    benefit and enjoy.
  107.  
  108.    No warrantees are expressed or implied for these programs. Use them at
  109.    your own risk.
  110.  
  111.    Directory Opus is copyrighted by Jonathan Potter and sold by
  112.    Inovatronics, Inc.
  113.  
  114.    ARexx is a trademark of the Wishful Thinking Developement Corp. and
  115.    William S. Hawes.
  116.  
  117.    LhA is copyrighted by Stefan Boberg.
  118.  
  119.    AmigaGuide, Commodore's Installer and Workbench are copyrighted trademarks
  120.    of Commodore-Amiga, Inc.
  121.  
  122.  
  123.  
  124. Acknowledgements
  125.  
  126.  
  127.  Acknowledgements
  128.  ~~~~~~~~~~~~~~~~
  129.  
  130.    The following people and groups made these programs possible.
  131.  
  132.    Thanks go to:
  133.  
  134.  
  135.       Jonathan Potter for creating the indispensable Directory Opus program.
  136.  
  137.       Bill Hawes for implementing Rexx for the Amiga, and Commodore for
  138.       including it into the OS.
  139.  
  140.       Billy Gates and MicroSoft for creating DOS6, Windows, Word, Excel, etc.
  141.       which convince me each and every work day that the Commodore Amiga is
  142.       *the* one and *only* platform to program/use...
  143.  
  144.       The Vancouver Canucks hockey team for providing me with exciting
  145.       1994 Stanley Cup play-off action to watch while updating these boring
  146.       documents. Go Canucks!
  147.  
  148.       Pink Floyd for a *wonderful* concert in Vancouver...
  149.  
  150.  
  151.    Thanks to the following people for feedback and/or bug reports:
  152.  
  153.  
  154.       Amnon Itamar Govrin         s2543587@techst02.techion.ac.il
  155.       Henning Sauer               H.SAUER@BIONIC.zer.de
  156.       Bastiau Kinne               a09j@zfn.uni.bremen.de
  157.       Wolfgang Brodowski          BRODY@CHEEZY.AWORD.DE
  158.       Walter Dees                 walterd@stack.urc.tue.nl
  159.       Reto Thoma                  Reto_Thoma@p2.817.chg.imp.com
  160.       Micheal Barsoom             mbars@bluejay.creighton.edu
  161.       Bill Leath(?)               bleath@BIX.com
  162.       Lothar Mai                  Hiedermotzing, Germany
  163.  
  164.  
  165.    Any anybody else I may have missed. (Sorry). Thanks!
  166.  
  167.  
  168.  
  169. Installation
  170.  
  171.  
  172.  Installation
  173.  ~~~~~~~~~~~~
  174.  
  175.    Sorry, no Commodore Installer script. You have to install this by hand.
  176.    Please read this whole section before starting the installation process.
  177.  
  178.    The DOpusLhARexx archive should contain the following files:
  179.  
  180.  
  181.       .Product-Info
  182.       DOpusLhARexx.readme
  183.       DOpusLhARexx/Docs/DOpusLhARexx.guide
  184.       DOpusLhARexx/Docs/DOpusLhARexx.doc
  185.       DOpusLhARexx/Docs/DOpusLhARexx.HLP
  186.       DOpusLhARexx/ARexx/ListLhA.rexx
  187.       DOpusLhARexx/ARexx/GetSizesLhA.rexx
  188.       DOpusLhARexx/ARexx/ExtractFilesLhA.rexx
  189.       DOpusLhARexx/ARexx/SelectFilesLhA.rexx
  190.       DOpusLhARexx/ARexx/DelFilesLhA.rexx
  191.       DOpusLhARexx/ARexx/AddFilesLhA.rexx
  192.       DOpusLhARexx/ARexx/RestoreLhADir.rexx
  193.       DOpusLhARexx/ARexx/ViewLhAFile.rexx
  194.       DOpusLhARexx/ARexx/PrintLhAFiles.rexx
  195.       DOpusLhARexx/ARexx/LhaHandler.rexx
  196.       DOpusLhARexx/ARexx/StopLhAHandler.rexx
  197.       DOpusLhARexx/s/DirectoryOpus.CFG
  198.       DOpusLhARexx/s/DirectoryOpus.CLA
  199.  
  200.  
  201.   Step 1: Installing the files
  202.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  203.  
  204.    I would suggest that you create a subdirectory in DOpus: called "ARexx"
  205.    and place the *.rexx files in this directory. Alternatively, you can
  206.    place them into REXX: or even S:. Be sure the set the 'S' (script) bit
  207.    on the *.rexx files using the C:Protect command.
  208.  
  209.  
  210.    Make sure you have the assign T: setup and pointing to a location with
  211.    some free space for temporary files. By default, all the scripts use
  212.    T: to store file lists and other temporary files although you may change
  213.    this when configuring the scripts to your setup. (See below)
  214.  
  215.  
  216.    In addition, you should make sure that rexxsupport.library is installed
  217.    in LIBS: as the scripts require a few functions from this library.
  218.  
  219.  
  220.   Step 2: Configuring Directory Opus
  221.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  222.  
  223.    Start up DOpus and go into the configuration editor.
  224.  
  225.    Select the "Buttons" editor.
  226.  
  227.    Create new buttons with the following characterisics:
  228.    
  229.       Name               Cmd Type    Command
  230.       ~~~~               ~~~~~~~~    ~~~~~~~
  231.       ListLhA             ARexx       DOpus:ARexx/ListLhA.rexx
  232.       GetSizesLhA         ARexx       DOpus:ARexx/GetSizesLhA.rexx
  233.       ExtLhaFiles         ARexx       DOpus:ARexx/ExtractFilesLhA.rexx
  234.       SelectFilesLhA      ARexx       DOpus:ARexx/SelectFilesLhA.rexx
  235.       DelFilesLhA         ARexx       DOpus:ARexx/DelFilesLhA.rexx
  236.       AddFilesLhA         ARexx       DOpus:ARexx/AddFilesLhA.rexx
  237.       RestoreLhADir       ARexx       DOpus:ARexx/RestoreLhADir.rexx
  238.       ViewLhAFile         ARexx       DOpus:ARexx/ViewLhAFile.rexx
  239.       PrintLhAFiles       ARexx       DOpus:ARexx/PrintLhAFiles.rexx
  240.  
  241.    All of these buttons should have no flags set and the default stack,
  242.    priority and close delay values. (Consult the DOpus manual under the
  243.    section "3.5 BUTTONS/EDITOR" if you don't understand what the above
  244.    means)
  245.  
  246.  
  247.    Next, go into the "Menus" editor and add a new menu with the following
  248.    sub-items: (See section "3.15 MENUS/MANAGER" in the DOpus manual)
  249.  
  250.       Menu Title: Lha Options
  251.  
  252.         Sub Item: Restore LhA Paths
  253.         Commands: AmigaDOS    Setenv LHAREXX_EXT_OPTS "-x x "
  254.                   Command     Notify Now Restoring LhA Paths...
  255.            Flags: None
  256.  
  257.         Sub Item: Ignore LhA Paths~
  258.         Commands: AmigaDOS    Setenv LHAREXX_EXT_OPTS "-x0 e "
  259.                   Command     Notify Now Ignoring LhA paths...
  260.            Flags: None
  261.  
  262.         Sub Item: Overwrite Existing Files
  263.         Commands: AmigaDOS    Setenv LHAREXX_OVR_OPTS "-m "        
  264.                   Command     Notify Overwrite Existing Files On...
  265.            Flags: None
  266.  
  267.         Sub Item: Keep Existing Files~
  268.         Commands: AmigaDOS    Setenv LHAREXX_OVR_OPTS "-m0 "       
  269.                   Command     Notify Existing Files Will Be Kept...
  270.            Flags: None
  271.  
  272.         Sub Item: Start LhA Handler
  273.         Commands: AmigaDOS    Run RX DOpus:ARexx/LhaHandler.rexx
  274.            Flags: Output Window
  275.                   Run asynchronously
  276.                   Workbench to front
  277.  
  278.         Sub Item: Stop LhA Handler
  279.         Commands: AmigaDOS    Run RX DOpus:ARexx/StopLhaHandler.rexx
  280.            Flags: Output Window
  281.                   Run asynchronously
  282.                   Workbench to front
  283.  
  284.    (NOTE: The tildes (~) and extras spaces above ARE significate)
  285.  
  286.  
  287.   Step 3: Configuring the Scripts to your Setup
  288.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  289.  
  290.    Fire up your favorite text editor and modify the *.rexx files listed
  291.    above to conform to your system setup. You will only need to modify
  292.    a few variables near the top of each file in the "configuration
  293.    variables section".
  294.  
  295.  
  296.   Step 4: Double-Click/Click-M-Click Support (OPTIONAL)
  297.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  298.  
  299.    If you wish to have the ability to extract files with click-m-click
  300.    or the ability to view a file via a double-click, you will have to
  301.    install the custom handler script. The custom handler consists of
  302.    two scripts:
  303.  
  304.       LhaHandler
  305.       StopLhAHandler
  306.  
  307.    I had originally planned to use DOpus' System/Startup ARexx script
  308.    configuration option to run the custom handler upon startup of DOpus
  309.    and this does in fact work, however, the problem is when you attempt
  310.    to exit DOpus, DOpus waits for the handler script to finish (which it
  311.    doesn't unless it gets the command to do so). The StopLhAHandler
  312.    script will send the "quit" command to the custom handler which will
  313.    stop it.
  314.  
  315.    The best way to install and run the custom handler that I've found is
  316.    to Run it as a background task at boot time. Add a line to your
  317.    S:User-Startup (or S:Startup-Sequence) that does the following command:
  318.  
  319.  
  320.       Run RX DOpus:ARexx/LhaHandler.rexx >NIL:
  321.  
  322.  
  323.    The ListLhA script looks for the custom handler script's port when
  324.    listing the archive and will instruct DOpus to pass click-m-click/
  325.    double clicks to the custom handler if the port exists.
  326.  
  327.    
  328.    If your destination window is full and you use click-m-click to extract
  329.    a file, you'll notice that, undoubtedly, a file in the destination window
  330.    will be highlighted. If this bothers you, I suggest that you use
  331.    click-hold-drag (same as click-m-click) to extract the file. Click on
  332.    the file and hold the button, then drag the file horizontally into the
  333.    destination window.
  334.  
  335.  
  336.   Step 5: Help File (OPTIONAL)
  337.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  338.  
  339.    If you wish to install DOpus style help for the new buttons and menu items,
  340.    you must edit the DOpus help file:
  341.  
  342.       DOpus:s/DirectoryOpus.HLP
  343.  
  344.    and add the contents of the DOpusLhARexx.HLP file to this file either at
  345.    the start or the end of the file.
  346.  
  347.  
  348.   Sample Configuration
  349.   ~~~~~~~~~~~~~~~~~~~~
  350.  
  351.    I've included a copy of my DOpus configuration files in the s/ subdirectory
  352.    which you may load into ConfigOpus module via the "Configure->Open" menu.
  353.  
  354.      *** BE CAREFUL NOT TO SAVE THIS CONFIGURATION OVER YOUR PREVIOUS ***
  355.      *** CONFIGURATION. YOU HAVE BEEN WARNED.                         ***
  356.  
  357.  
  358.  
  359. rexxsupport.library
  360.  
  361.  
  362.  rexxsupport.library
  363.  ~~~~~~~~~~~~~~~~~~~
  364.  
  365.    Is an external shared library distributed with ARexx and should already
  366.    be installed in your LIBS: directory. Consult your ARexx documentation
  367.    if rexxsupport.library is not already installed on your system.
  368.  
  369.    
  370.  
  371. ListLhA
  372.  
  373.  
  374.  ListLhA
  375.  ~~~~~~~
  376.  
  377.    What it does:
  378.    ~~~~~~~~~~~~~
  379.  
  380.    The ListLhA script allows the user to list an LhA archive in a buffer
  381.    window.
  382.  
  383.    How to use it:
  384.    ~~~~~~~~~~~~~~
  385.  
  386.    Move into the directory containing the LhA archive you wish to list.
  387.  
  388.    Select an LhA file (only the first selected file is looked at)
  389.  
  390.    Click on the "ListLhA" button.
  391.  
  392.    If the selected file is indeed an LhA archive, the buffer window will clear
  393.    and the archive will be listed in the window.
  394.  
  395.  
  396.    Notes
  397.    ~~~~~
  398.  
  399.    The buffer window will display the total size of all the files in the LhA
  400.    archive and well as the number of files at the bottom of the buffer window
  401.    (These two entries are un-selectable).
  402.  
  403.    If LhA detects a corrupt file within the archive, ListLhA with put up a
  404.    requester during the file list parsing which displays the name of the
  405.    file in question as well as the error message from LhA.
  406.  
  407.  
  408.  
  409. GetSizesLhA
  410.  
  411.  
  412.  GetSizesLhA
  413.  ~~~~~~~~~~~
  414.  
  415.    What it does:
  416.    ~~~~~~~~~~~~~
  417.  
  418.    The GetSizesLhA script will do a byte count (total) on the files currently
  419.    selected in an LhA archive window. (Much like the DOpus equivalent of
  420.    the "GetSizes" button)
  421.  
  422.    How to use it:
  423.    ~~~~~~~~~~~~~~
  424.  
  425.    Select the file(s) you wish to total in an LhA archive buffer window.
  426.  
  427.    Click on the "GetSizesLhA" button.
  428.  
  429.    You should then see the total byte/file count listed in the status bar.
  430.  
  431.  
  432.  
  433. ExtLhaFiles
  434.  
  435.  
  436.  ExtLhaFiles
  437.  ~~~~~~~~~~~
  438.  
  439.    What it does:
  440.    ~~~~~~~~~~~~~
  441.  
  442.    The ExtLhaFiles script will extract one or more files from an LhA archive
  443.    window into the destination window.
  444.  
  445.    How to use it:
  446.    ~~~~~~~~~~~~~~
  447.  
  448.    Select the file(s) you wish to extract in the LhA archive buffer window.
  449.  
  450.    Click on the "ExtLhaFiles" button.
  451.  
  452.    The script will then extract the selected file(s) to the destination
  453.    window.
  454.  
  455.  
  456.    Extraction Options:
  457.    ~~~~~~~~~~~~~~~~~~~
  458.  
  459.    The ExtLhaFiles script will use the environment variables set using the
  460.    Menu Options to allow restoring/ignoring of full pathnames and also
  461.    auto-overwriting/confirming overwriting of existing files.
  462.  
  463.    If, during extraction, LhA requires input from the user to confirm an
  464.    action such as overwriting a file, an LhA_Input window will appear
  465.    below the LhA_Output window. See the LhA Issues section for information
  466.    on using these windows.
  467.  
  468.    See the Known Bugs section for problems relating to these extraction
  469.    options.
  470.  
  471.  
  472.  
  473. SelectFilesLhA
  474.  
  475.  
  476.  SelectFilesLhA
  477.  ~~~~~~~~~~~~~~
  478.  
  479.    What it does:
  480.    ~~~~~~~~~~~~~
  481.  
  482.    The SelectFilesLhA script will allow the user to select file(s) in the
  483.    archive window via a search pattern.
  484.  
  485.    How to use it:
  486.    ~~~~~~~~~~~~~~
  487.  
  488.    Click on the "SelectFilesLhA" button.
  489.  
  490.    A requester will appear asking you for a pattern to match on. Type in
  491.    a string that will match all the files you want to select. You may
  492.    include AmigaDOS wildcards in the pattern (~,*,#?,[],etc).
  493.  
  494.    All files which match the pattern will be selected. Additionally, the
  495.    GetSizesLhA script will be called and the byte count (total) of the
  496.    selected files will appear in the status bar.
  497.  
  498.  
  499.    Notes
  500.    ~~~~~
  501.  
  502.    In addition, the following special patterns perform the following
  503.    functions:
  504.  
  505.       "*"  - Select ALL files
  506.       "~"  - Toggle selection state of files (a selected file is unselected
  507.              and vice versa)
  508.       ""   - De-select ALL files
  509.  
  510.  
  511.  
  512. DelFilesLhA
  513.  
  514.  
  515.  DelFilesLhA
  516.  ~~~~~~~~~~~
  517.  
  518.    What it does:
  519.    ~~~~~~~~~~~~~
  520.  
  521.    The DelFilesLhA script will delete the selected file(s) from an archive
  522.    window.
  523.  
  524.    How to use it:
  525.    ~~~~~~~~~~~~~~
  526.  
  527.    Select the file(s) you wish to delete from the LhA archive.
  528.  
  529.    Click on the "DelFilesLhA" button.
  530.  
  531.    A confirmation requester will appear giving you the chance to abort the
  532.    operation. (Once the files are deleted you CANNOT get them back)
  533.  
  534.    After the files have been deleted from the LhA archive, the buffer
  535.    window will be updated by calling the ListLhA script.
  536.  
  537.    If you have deleted ALL the files in the LhA archive, you will be asked
  538.    if you wish to delete the LhA archive. Selecting yes will delete the
  539.    archive and load the original directory back into the window. If you
  540.    choose no, the LhA buffer is left alone and you may add files into the
  541.    empty archive via the "AddFilesLhA" button.
  542.  
  543.  
  544.    Notes
  545.    ~~~~~
  546.  
  547.    The DelFilesLha script will prompt the user for confirmation if any of
  548.    the selected files are actually directory entries. Deleting a directory
  549.    within an LhA archive, also deletes ALL directories and files in/under
  550.    that directory. BE AWARE OF THIS!
  551.  
  552.  
  553.  
  554. AddFilesLhA
  555.  
  556.  
  557.  AddFilesLhA
  558.  ~~~~~~~~~~~
  559.  
  560.    What it does:
  561.    ~~~~~~~~~~~~~
  562.  
  563.    The AddFilesLhA script allows the user to add one or more files to an
  564.    LhA archive.
  565.  
  566.    How to use it:
  567.    ~~~~~~~~~~~~~~
  568.  
  569.    List an LhA archive you want to add files into.
  570.  
  571.    In the destination window, select the files and/or directories you wish
  572.    to add into the archive.
  573.  
  574.    Click on the "AddFilesLhA" button.
  575.  
  576.    A requester will appear asking you if you wish to store the pathnames of
  577.    the files to be added. Selecting yes will store the paths relative to
  578.    the source directory you have listed in the source window. Selecting
  579.    no will ignore the paths and store the files into the archive as if they
  580.    appeared in one directory.
  581.  
  582.    A second requester will then appear asking you if you wish to add any
  583.    possible sub-directories. If you have selected a directory in the
  584.    source window and you say yes to this requester, LhA will also
  585.    recursively add any files/directories contained within the directorie(s)
  586.    you have selected. Selecting no will only add files contained in the
  587.    selected directorie(s) but no sub-directories below that.
  588.  
  589.    The files will be added to the LhA archive and the buffer window will be
  590.    updated by calling the ListLha script.
  591.  
  592.  
  593.    Notes
  594.    ~~~~~
  595.  
  596.    Adding possible subdirectories automatically stores the full path names
  597.    in the archive.
  598.  
  599.    If you click on the "AddFilesLhA" button with no LhA archive listed, a
  600.    requester will appear asking you if you wish to create a new LhA archive.
  601.    Selecting yes will bring up a second requester asking you for a filename
  602.    for the new archive. Enter a filename (with or without the ".lha"
  603.    extension, but excluding the path) noting that the archive will be created
  604.    in the in-active directory window. (The path where the archive is to be
  605.    created is listed in the requester)
  606.  
  607.  
  608.  
  609. RestoreLhADir
  610.  
  611.  
  612.  RestoreLhADir
  613.  ~~~~~~~~~~~~~
  614.  
  615.    What it does:
  616.    ~~~~~~~~~~~~~
  617.  
  618.    The RestoreLhADir script will re-read the directory containing the current
  619.    LhA archive listed into the buffer window. After the directory has been
  620.    re-scanned, the LhA archive file is re-highlighted.
  621.  
  622.  
  623.    How to use it:
  624.    ~~~~~~~~~~~~~~
  625.  
  626.    Click on the "RestoreLhADir" button.
  627.  
  628.    The directory containing the LhA archive will be read into the buffer
  629.    window.
  630.  
  631.  
  632.    Notes
  633.    ~~~~~
  634.  
  635.    The LhA archive which was previously listed in the buffer will then be
  636.    auto-selected in the directory window.
  637.  
  638.  
  639.  
  640. ViewLhAFile
  641.  
  642.  
  643.  ViewLhAFile
  644.  ~~~~~~~~~~~
  645.  
  646.    What it does:
  647.    ~~~~~~~~~~~~~
  648.  
  649.    The ViewLhAFile script will extract and view the selected file(s) using an
  650.    approriate viewer.
  651.  
  652.  
  653.    How to use it:
  654.    ~~~~~~~~~~~~~~
  655.  
  656.    Select the files you wish to view.
  657.  
  658.    Click on the "ViewLhAFile" button.
  659.  
  660.    Each selected file will be extracted from the archive and viewed with one
  661.    of the configured viewers based on the extension of the filename. (ie. a
  662.    file ending in .GIF will be viewed using the GIFViewer command)
  663.  
  664.    If the extension on the filename is not known, the file will be viewed
  665.    using a default viewer.
  666.  
  667.  
  668.    Notes
  669.    ~~~~~
  670.  
  671.    The following file extensions are recognized:
  672.  
  673.       Type               Extension(s)
  674.       ~~~~               ~~~~~~~~~~~~
  675.       Text               .doc .readme .man .text .txt .me
  676.       IFF ILBM           .iff .ham .pic .brush
  677.       Jpeg               .jpg .jpeg .jfif
  678.       Gif                .gif .jif
  679.       Icon               .info
  680.       8svx Sound         .snd .8svx
  681.       IFF Anim           .anim
  682.       Mpeg Movie         .mpeg .mpg
  683.       
  684.  
  685.    If the file is not recognized, it will be shown using the default viewer,
  686.    I suggest that you use a viewer such as xMore as the default viewer as
  687.    xMore will display a text file as text and a binary file as a hex dump.
  688.  
  689.    The ViewLhAFile only looks at the filename to determine it's type, it does
  690.    NOT use DOpus' file class function. This may be implemented in a future
  691.    version.
  692.  
  693.  
  694.  
  695. PrintLhAFiles
  696.  
  697.  
  698.  PrintLhAFiles
  699.  ~~~~~~~~~~~~~
  700.  
  701.    What it does:
  702.    ~~~~~~~~~~~~~
  703.  
  704.    The PrintLhAFiles script will extract and print the selected file(s) using
  705.    the DOpus printing function.
  706.  
  707.    In addition, the contents of the LhA buffer window (archive contents) can
  708.    also be printed via the DOpus PrintDir function.
  709.  
  710.  
  711.    How to use it:
  712.    ~~~~~~~~~~~~~~
  713.  
  714.    Select the files you wish to view.
  715.  
  716.    Click on the "PrintLhAFiles" button.
  717.  
  718.    A requester will appear asking you if you wish to print the buffer window
  719.    or the selected files. Selecting the "Buffer" button will call the DOpus
  720.    PrintDir function (See section "2.5 Print Dir Requester" in the DOpus
  721.    manual). If you select "Files", then the following action takes place.
  722.  
  723.    Each selected file will be extracted from the archive and the DOpus
  724.    print requester will pop up to allow you to select your favorite printing
  725.    options. (See section "2.6 Print Requester" in the DOpus manual).
  726.  
  727.  
  728.    Notes
  729.    ~~~~~
  730.  
  731.    If you don't have any files selected, you will be asked if you want to
  732.    print the buffer window contents.
  733.  
  734.  
  735.  
  736. LhaHandler
  737.  
  738.  
  739.  LhaHandler
  740.  ~~~~~~~~~~
  741.  
  742.    What it does:
  743.    ~~~~~~~~~~~~~
  744.  
  745.    The LhaHandler script in a custom handler routine that will allow
  746.    click-m-click extraction of files and double-click viewing of files
  747.    in an LhA buffer window.
  748.  
  749.  
  750.    How to use it:
  751.    ~~~~~~~~~~~~~~
  752.  
  753.    The LhaHandler normally runs as a separate process (See Installation
  754.    for details on setting up the handler) and opens an AmigaDOS port for
  755.    receiving messages from DOpus. If this port is active when the user
  756.    lists an archive in a directory window, DOpus is instructed to pass
  757.    click-m-click and double-click messages to the port. The LhaHandler will
  758.    then perform the corresponding action.
  759.  
  760.  
  761.  
  762. StopLhAHandler
  763.  
  764.  
  765.  StopLhAHandler
  766.  ~~~~~~~~~~~~~~
  767.  
  768.    What it does:
  769.    ~~~~~~~~~~~~~
  770.  
  771.    The StopLhAHandler script can be used to shut down the LhaHandler custom
  772.    handler.
  773.  
  774.    How to use it:
  775.    ~~~~~~~~~~~~~~
  776.  
  777.    Selecting the "Stop LhA Handler" menu item or running the
  778.    StopLhAHandler.rexx script from the CLI with "rx" will send a QUIT
  779.    message to the port of the LhaHandler.
  780.  
  781.  
  782.    Notes
  783.    ~~~~~
  784.  
  785.    Stopping the LhaHandler while a current LhA buffer window is listed
  786.    will cause DOpus to pop up a requester complaining about a missing port
  787.    if you attempt to click-m-click or double click on a file in the LhA
  788.    buffer window. (the buffer window is still attached to the handlers port)
  789.  
  790.  
  791.  
  792. Menu Options
  793.  
  794.  
  795.  Menu Options
  796.  ~~~~~~~~~~~~
  797.  
  798.   Restore LhA Paths       
  799.   ~~~~~~~~~~~~~~~~~
  800.  
  801.   Selecting this menu option will set the environment variable used by the
  802.   ExtLhAFiles and the LhaHandler scripts to tell LhA to restore the full
  803.   pathname of the extracted file(s).
  804.  
  805.  
  806.   Ignore LhA Paths        
  807.   ~~~~~~~~~~~~~~~~
  808.  
  809.   Selecting this menu option will set the environment variable used by the
  810.   ExtLhAFiles and the LhaHandler scripts to tell LhA to ignore the full
  811.   pathname of the extracted file(s).
  812.  
  813.  
  814.   Overwrite Existing Files
  815.   ~~~~~~~~~~~~~~~~~~~~~~~~
  816.  
  817.   Selecting this menu option will set the environment variable used by the
  818.   ExtLhAFiles and the LhaHandler scripts to tell LhA to automatically
  819.   overwrite files with the same name when extracting file(s).
  820.  
  821.  
  822.   Keep Existing Files     
  823.   ~~~~~~~~~~~~~~~~~~~
  824.  
  825.   Selecting this menu option will set the environment variable used by the
  826.   ExtLhAFiles and the LhaHandler scripts to tell LhA to prompt the user
  827.   before overwriting files with the same name when extracting file(s).
  828.  
  829.  
  830.   Start LhA Handler       
  831.   ~~~~~~~~~~~~~~~~~
  832.  
  833.   Selecting this menu option will start the custom handler as a background
  834.   task if it is not already running.
  835.  
  836.  
  837.   Stop LhA Handler
  838.   ~~~~~~~~~~~~~~~~
  839.   
  840.   Selecting this menu option will stop the custom handler running in the
  841.   background.
  842.  
  843.  
  844.  
  845. Using The Scripts
  846.  
  847.  
  848.  Action Scripts
  849.  ~~~~~~~~~~~~~~
  850.  
  851.     ListLhA         - Listing an LhA archive
  852.     GetSizesLhA     - Totaling selected files
  853.     ExtLhaFiles     - Extracting selected files
  854.     SelectFilesLhA  - Selecting file via a pattern
  855.     DelFilesLhA     - Deleting selected files
  856.     AddFilesLhA     - Adding selected files
  857.     RestoreLhADir   - Restoring parent directory
  858.     ViewLhAFile     - Viewing selected files
  859.     PrintLhAFiles   - Printing selected files
  860.  
  861.  Utility Scripts
  862.  ~~~~~~~~~~~~~~~
  863.  
  864.     LhaHandler      - Custom buffer handler
  865.     StopLhAHandler  - Stopping the handler
  866.  
  867.  Menu Items
  868.  ~~~~~~~~~~
  869.  
  870.     Restore LhA Paths         - Make LhA restore full pathnames
  871.     Ignore LhA Paths          - Make LhA ignore pathnames
  872.     Overwrite Existing Files  - Make LhA auto-overwrite files
  873.     Keep Existing Files       - Make LhA confirm overwrites
  874.     Start LhA Handler         - Start custom handler
  875.     Stop LhA Handler          - Stop custom handler
  876.  
  877.  
  878.  
  879. Bugs
  880.  
  881.  
  882.  Known Bugs
  883.  ~~~~~~~~~~
  884.  
  885.    If you find a problem, please tell me about it (See Author), and I'll
  886.    try to fix it ASAP. Please feel free to send in your suggestions for
  887.    enhancements as well...
  888.  
  889.    1) None of the scripts which modify the LhA archive (add/delete) check
  890.       the permissions of the archive file to check if it's writable
  891.  
  892.  
  893.  Limitations & Quirks
  894.  ~~~~~~~~~~~~~~~~~~~~
  895.  
  896.    DOpus (at this time) only allows file entries of 256 characters. This of
  897.    course limits the scripts to LhA archives with pathnames of about 246
  898.    characters in length.
  899.  
  900.    LhA has path limits similar to those of DOpus as well.
  901.  
  902.    When ignoring pathname restoration during file extraction, LhA will attempt
  903.    to extract ALL files in the archive with the same name as one of the
  904.    selected files (regardless of whether the other file(s) are selected or
  905.    not). If you have the overwrite existing files option turned off, you
  906.    may selectively choose the correct files to extract as the files are
  907.    extracted in the order they are listed in the buffer window.
  908.  
  909.    LhA archives containing auto-display files (.displayme) will display the
  910.    .displayme file on the Workbench screen and not the DOpus screen. If it
  911.    appears as if LhA has "frozen" during the extraction process, flip the
  912.    Workbench screen to the front to check for and cancel the .displayme
  913.    file. Additionally, you can add an option (-M) to LhA's global options
  914.    environment variable (ENV:LHAOPTS) to make LhA ignore all .displayme
  915.    files.
  916.  
  917.  
  918.  
  919. History
  920.  
  921.  
  922.  
  923.  ListLhA.rexx
  924.  ~~~~~~~~~~~~
  925.  
  926.    40.1 - initial quick hack, only displayed files.
  927.  
  928.    40.2 - found bug, was bitten by ARexx quoting so spaces in file names
  929.           screwed up.
  930.         - added true file size in display after figuring out problem above.
  931.         - added two unselectable total entries for new companion script
  932.           GetSizesLhA.rexx.
  933.         - improved messages to user showing just what the hell is going on. :-)
  934.  
  935.    40.3 - added check to ignore file comments in archive.
  936.         - added check to make sure file entry is less than 256 chars.
  937.           (DOpus limit)
  938.  
  939.    40.4 - added code so that DelFilesLhA and AddFilesLhA could call ListLhA
  940.           to update the window as it would be tricky for DelFilesLhA and 
  941.           AddFilesLhA to do this.
  942.  
  943.    40.5 - added code to set the ADDRESS to DOpus if the script was called 
  944.           from someplace else, namely, DelFilesLhA and AddFilesLhA.
  945.         - bug fix. DOpus will only allow 30 characters in the window title,
  946.           I was storing the path AND LhA filename in there (which is fine
  947.           if your lha files are in a top level directory). To fix this,
  948.           I changed the code to store only the LhA filename in the window
  949.           title and added some code to store the path to the LhA archive
  950.           within the directory window itself. By playing with the display
  951.           pens, this entry is "invisible" to the user.
  952.         - added new function Quote() for dealing with filenames containing
  953.           spaces.
  954.  
  955.           Release 40.2
  956.           ------------
  957.  
  958.    40.6 - bug fix: added rexxsupport.library via ADDLIB() Thanks to Michael
  959.           Barsoom for reporting this bug.
  960.         - bug fix: added quotes around archive pathname for device names
  961.           with spaces in them. Thanks to Reto Thoma for reporting this.
  962.         - added code to catch and display error messages from LHA.
  963.  
  964.  
  965.  GetSizesLhA.rexx
  966.  ~~~~~~~~~~~~~~~~
  967.  
  968.    40.1 - initial version.
  969.         - tried to mimic DOpus 'GetSizes' button.
  970.  
  971.    40.2 - adjusted index calculations due to new info in the footer of the
  972.           directory window.
  973.  
  974.           Release 40.2
  975.           ------------
  976.  
  977.    40.3 - removed ScrollToShow for speed.
  978.         - added IsLhaFile() function to script.
  979.         - added code to check other window for LhA buffer, if current
  980.           window isn't.
  981.         - bug fix: added -1 (current window) to all 'Status' calls.
  982.  
  983.  
  984.  ExtractFilesLhA.rexx
  985.  ~~~~~~~~~~~~~~~~~~~~
  986.  
  987.    40.1 - initial hack after playing with AddCustHandler (gave up...
  988.           for now at least :-) The problem?  Well, AddCustHandler passes
  989.           some arguments, but not quite enough info to be able to extract
  990.           files from the archive. I could get the information I need from
  991.           DOpus itself, however AddCustHandler is 'blocking' DOpus. 
  992.           (ie. DOpus won't respond to ARexx as it's waiting for the
  993.           AddCustHandler script to end/return)  If I can find a clean way
  994.           of using AddCustHandler for Click-M-Click extraction, I'll update
  995.           the archive.
  996.  
  997.    40.2 - added code to allow extracting of all selected files at one time,
  998.           instead of having to open a CON:/LhA for each file. Left original
  999.           code in there for users who like that method. :-)
  1000.         - improved messages to user.
  1001.         - added check to see if there is a valid destination path.
  1002.  
  1003.    40.3 - added code to set the ADDRESS to DOpus in case DOpus didn't invoke
  1004.           the script.
  1005.  
  1006.    40.4 - changed code to get the path to the LhA archive from the directory
  1007.           window.
  1008.  
  1009.    40.5 - added TopText call and moved "Busy on" call before requester.
  1010.  
  1011.    40.6 - bug fixes. added missing quotes and parameters for Status calls.
  1012.  
  1013.    40.7 - found out that LhA doesn't like certain characters in the file names
  1014.           it uses to extract. Added function to change these to wildcards.
  1015.  
  1016.    40.8 - added code to check the other window if no LhA buffer found in
  1017.           current window.
  1018.  
  1019.           Release 40.2
  1020.           ------------
  1021.  
  1022.    40.9 - added quotes around DestinationPath for those people having spaces
  1023.           in their filenames.
  1024.         - removed ExtractEachFile function in the sake of speed (nobody used
  1025.           this, right? thought so...)
  1026.         - added code to call ListLha script if user has only selected the
  1027.           archive but not listed it yet.
  1028.         - added code to extract all files if none are selected. User must
  1029.           comfirm this action.
  1030.         - added code to handle case where only an archive file has been
  1031.           selected, but not listed.
  1032.         - added code to use new extraction options.
  1033.         - added code to allow input to the LhA program to confirm actions
  1034.           such as overwriting.
  1035.         - bug fix: added quotes to filename when extracting without restoring
  1036.           the full path to allow filenames with spaces.
  1037.         - added Quote() and StripQuotes() functions. changed code to use them.
  1038.         - bug fix: added StripQuotes() call in GetFileInPath() function when
  1039.           no path was found.
  1040.         - bug fix: changed code to removed CurrentWindow variable to fix
  1041.           problems with rescaning the correct window after extraction.
  1042.  
  1043.  
  1044.  AddFilesLhA.rexx
  1045.  ~~~~~~~~~~~~~~~~
  1046.  
  1047.    40.1 - initial version. I said, "What the hell!", might as well be able to
  1048.           add and delete files from the archive as well as extract them...
  1049.  
  1050.    40.2 - added code to get the path to the LhA archive from the directory
  1051.           window.
  1052.  
  1053.    40.3 - added TopText call and moved "Busy on" call before requester.
  1054.  
  1055.    40.4 - added code to allow the user to create a new archive.
  1056.         - added option to recurse subdirectories.
  1057.  
  1058.    40.5 - found out that LhA doesn't like certain characters in the file names
  1059.           it uses to add. Added function to change these to wildcards.
  1060.  
  1061.    40.6 - added code to list a new archive after creation.
  1062.  
  1063.           Release 40.2
  1064.           ------------
  1065.  
  1066.    40.7 - added code to use a selected LhA archive file if no LhA buffer
  1067.           is found.
  1068.         - added code to allow adding of files/dirs with spaces in their names.
  1069.         - added Quote() and StripQuotes() functions.
  1070.  
  1071.  
  1072.  DelFilesLhA.rexx
  1073.  ~~~~~~~~~~~~~~~~
  1074.  
  1075.    40.1 - initial version
  1076.  
  1077.    40.2 - changed the way DelFilesLhA.rexx called ListLhA.rexx as I was
  1078.           getting some *very* impressive crashes (continuous yellow screen
  1079.           upon reboot!) via 'call ListLhA.rexx'.
  1080.         - moved the code to restore DOpus's requester button text from the
  1081.           CleanUp function as I don't think it was hitting it.
  1082.  
  1083.    40.3 - added code to get the path to the LhA archive from the directory
  1084.           window.
  1085.  
  1086.    40.4 - added TopText call and moved "Busy on" call before confirmation
  1087.           requester.
  1088.         - added code to see if the archive is empty after the delete. If
  1089.           it is, the user is given the option of deleting the empty archive.
  1090.  
  1091.    40.5 - added Busy on call after Request as it seems DOpus turns Busy off
  1092.           after the Request.
  1093.  
  1094.    40.6 - found out that LhA doesn't like certain characters in the file names
  1095.           it uses to delete. Added function to change these to wildcards.
  1096.         - added check to see if the LhA archive is empty to begin with, if
  1097.           so the user is given the option of deleting it.
  1098.  
  1099.    40.7 - added code to check the other buffer window if no archive is
  1100.           detected in the current window.
  1101.  
  1102.           Release 40.2
  1103.           ------------
  1104.  
  1105.    40.8 - removed display update while created the file list for speed.
  1106.         - added code to delete all files if no files are selected. User must
  1107.           confirm the action.
  1108.         - added code to ask the user if they want to delete the archive when
  1109.           no files are selected (asked if you wish delete all). This allows
  1110.           quick deleting of the archive.
  1111.         - added code to ask the user if they wish to delete the selected
  1112.           LhA archive if no LhA buffer exists. (checks for proper extension)
  1113.         - added code to check if the file is a directory entry. If it is, the
  1114.           user is asked if they wish to delete the directory and all files
  1115.           within the directory.
  1116.         - bug fix: added quotes to name of parent directory to allow the
  1117.           restoration of a parent directory with spaces in the name.
  1118.         - added flag to skip asking user if they want to delete the archive
  1119.           after relisting it if they already said no.
  1120.  
  1121.  
  1122.  SelectFilesLhA.rexx
  1123.  ~~~~~~~~~~~~~~~~~~~
  1124.  
  1125.    40.1 - initial version
  1126.  
  1127.    40.2 - added code to call GetFileSizesLha.rexx after file selection to
  1128.           show the totals.
  1129.         - added ScrollToIndex call so user sees the selection process.
  1130.  
  1131.    40.3 - added TopText call and moved "Busy on" call before the string
  1132.           requester.
  1133.     - added special pattern "*" to select all files
  1134.  
  1135.           Release 40.2
  1136.           ------------
  1137.  
  1138.    40.4 - added new special case patterns "" and "~". Also added check to
  1139.           see if any files are selected before calling GetSizesLhA to
  1140.           avoid possible error message from that script.
  1141.         - added code to do proper pattern matching using the DOpus command
  1142.           PatternMatch (somehow missed this command before!)
  1143.  
  1144.  
  1145.  RestoreLhADir.rexx
  1146.  ~~~~~~~~~~~~~~~~~~
  1147.  
  1148.    40.1 - initial version
  1149.  
  1150.    40.2 - added code to check the other buffer window as well.
  1151.  
  1152.    40.3 - added code to re-highlight the LhA archive file after the
  1153.           directory has been re-scanned.
  1154.  
  1155.           Release 40.2
  1156.           ------------
  1157.  
  1158.    40.4 - bug fix: added quotes to name of parent directory to allow the
  1159.           restoration of a parent directory with spaces in the name.
  1160.  
  1161.  
  1162.  ViewLhAFile.rexx
  1163.  ~~~~~~~~~~~~~~~~
  1164.  
  1165.           Release 40.2
  1166.           ------------
  1167.  
  1168.    40.1 - initial version. Thanks to Reto Thoma for the suggestion, this
  1169.           Buds for you :-)
  1170.         - added code to view a file ending in .guide with MultiView.
  1171.         - added code for many different file types including:
  1172.           DOC README MAN TEXT TXT IFF HAM PIC JPG JPEG JFIF GIF JIF INFO
  1173.           SND 8SVX ME MPG MPEG ANIM
  1174.         - added a default viewer case (hex viewer)
  1175.         - added a signal on failure trap to catch situation where the archive
  1176.           is corrupt, but was listed successfully.
  1177.         - added code to extract file with full path and then delete the full
  1178.           path when done to get around problem where several files in the
  1179.           archive have the same name and using the '-x0 e ' LhA options.
  1180.         - now display the name of the file being extracted.
  1181.         - added Quote() function to solve problems when dirs/files have
  1182.           spaces in them.
  1183.         - added BRUSH to files types (IFFViewer)
  1184.         - added ILBM to file types (IFFViewer)
  1185.  
  1186.  
  1187.  PrintLhAFiles.rexx
  1188.  ~~~~~~~~~~~~~~~~~~
  1189.  
  1190.           Release 40.2
  1191.           ------------
  1192.  
  1193.    40.1 - initial version (last minute!)
  1194.         - added code to check if any files are selected, if not don't
  1195.           bother asking to print them.
  1196.  
  1197.  
  1198.  LhaHandler.rexx
  1199.  ~~~~~~~~~~~~~~~
  1200.  
  1201.           Release 40.2
  1202.           ------------
  1203.  
  1204.    40.0 - initial test version.
  1205.  
  1206.    40.1 - found problem preventing any usefulness of this CustomHandler
  1207.         - added code to view a file on double-click
  1208.         - added code to extract a file on click-m-click
  1209.         - added code to use new env: options for restoring (or not)
  1210.           paths from the archive.
  1211.         - added code to allow input to the LhA program to confirm actions
  1212.           such as overwriting.
  1213.  
  1214.  StopLhAHandler.rexx
  1215.  ~~~~~~~~~~~~~~~~~~~
  1216.  
  1217.           Release 40.2
  1218.           ------------
  1219.  
  1220.    40.1 - initial version
  1221.  
  1222.  
  1223.  
  1224. Author
  1225.  
  1226.  
  1227.  Contacting the Author
  1228.  ~~~~~~~~~~~~~~~~~~~~~
  1229.  
  1230.  
  1231.    If you have any comments, suggestions, gripes, or God forbid... bugs,
  1232.    Please feel free to contact me at the following places:
  1233.  
  1234.  
  1235.       Snail-Mail:  Geoff Seeley
  1236.                    1240 Margaret Place,
  1237.                    Duncan, British Columbia
  1238.                    Canada
  1239.                    V9L 4T6
  1240.  
  1241.  
  1242.       E-Mail:      geoff@softwords.bc.ca                 (InterNet)
  1243.  
  1244.  
  1245.  
  1246. The Furture
  1247.  
  1248.  
  1249.  Possible Future Enhancements
  1250.  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1251.  
  1252.    - use DOpus' file classes to determine viewer to use in ViewLhAFiles
  1253.      script.
  1254.    - improve the configuration of the scripts
  1255.    - compile the scripts with the ARexx compiler for speed (Can someone out
  1256.      there do this please???)
  1257.    - create non-commented versions for speed
  1258.    - add support for ZIP, TAR, and other archivers.
  1259.    - improve the creation of an archive (maybe make "CreateLhA"?)
  1260.    - allow operations between archives (ie. list two archives, move files
  1261.      between them)
  1262.    - allow easier point and click? naming of the LhA archive (Suggested by
  1263.      Bill (bleath@BIX.com)
  1264.    - allow scripts to work with more than one running one of DOpus
  1265.    - add code to check the permissions of a archive file before modifying
  1266.      the archive.
  1267.  
  1268.  
  1269.  
  1270. LhA Issues
  1271.  
  1272.  
  1273.  Input/Output with LhA
  1274.  ~~~~~~~~~~~~~~~~~~~~~
  1275.  
  1276.    Output from the LhA program will appear in a regular console window
  1277.    with a title of "LhA_Output".
  1278.  
  1279.    If the LhA program needs input from the user during operation, a console
  1280.    window titled "LhA_Input" will appear below the LhA_Output window. Input
  1281.    to LhA should be typed in this window and *NOT* in the LhA_Output window
  1282.    where the input prompt appears.
  1283.  
  1284.  
  1285. Index
  1286.  
  1287.  
  1288.     Acknowledgements 
  1289.     AddFilesLhA 
  1290.     Author 
  1291.     Bugs 
  1292.     Copyrights 
  1293.     DelFilesLhA 
  1294.     ExtLhaFiles 
  1295.     GetSizesLhA 
  1296.     History 
  1297.     Installation 
  1298.     LhaHandler 
  1299.     Lha Issues 
  1300.     ListLhA 
  1301.     Menu Options 
  1302.     Preface 
  1303.     PrintLhAFiles 
  1304.     RestoreLhADir 
  1305.     rexxsupport.library 
  1306.     Script Operation 
  1307.     SelectFilesLhA 
  1308.     StopLhAHandler 
  1309.     The Future 
  1310.     ViewLhAFile 
  1311.     What's New? 
  1312.    
  1313.  
  1314.